Random harvest

❧ 2025-10-05


CLI iCloud Photos downloader for Linux, macOS, and Windows

iCloud Photos Downloader:

❧ 2025-10-02


Links Digest – September 2025

Sep 28, 2025 #

Sep 25, 2025 #

Sep 23, 2025 #

Sep 22, 2025 #

Sep 21, 2025 #

Sep 20, 2025 #

Sep 19, 2025 #

Sep 17, 2025 #

Sep 16, 2025 #

Sep 15, 2025 #

Sep 14, 2025 #

Sep 10, 2025 #

Sep 5, 2025 #

Sep 3, 2025 #

❧ 2025-09-30


Print PDF to booklet

Linux

macOS

Web

Windows

Cross-platform

❧ 2025-09-30


Fix Safari's white flash between sites in dark mode

Save the following CSS and set it as a custom style sheet in Safari → Settings… → Advanced:

@media (prefers-color-scheme: dark) {
  body:empty {background-color: #161616;}}
@media (prefers-color-scheme: light) {
  body:empty {background-color: #FFFFF;}}

Thanks to u/torsteinvin & u/Willing-Resource-295 for the fix.

❧ 2025-09-25


Links Digest – August 2025

Aug 31, 2025 #

Aug 28, 2025 #

Aug 26, 2025 #

Aug 25, 2025 #

Aug 22, 2025 #

Aug 20, 2025 #

Aug 19, 2025 #

Aug 18, 2025 #

Aug 17, 2025 #

Aug 16, 2025 #

Aug 13, 2025 #

Aug 12, 2025 #

Aug 11, 2025 #

Aug 10, 2025 #

Aug 9, 2025 #

Aug 8, 2025 #

Aug 7, 2025 #

Aug 6, 2025 #

Aug 4, 2025 #

Aug 3, 2025 #

Aug 2, 2025 #

Aug 1, 2025 #

❧ 2025-09-17


Links Digest – July 2025

Jul 31, 2025 #

Jul 30, 2025 #

Jul 29, 2025 #

Jul 28, 2025 #

Jul 27, 2025 #

❧ 2025-09-17


Device Support for macOS 26 / Mobile Device Support

Attempting to install macOS 26 Tahoe in UTM on a macOS 15 Sequoia host returned:

Error

A software update is required to complete the installation. Installation requires a software update.

In some cases, the following window would also appear:

A software update is required to install macOS in a virtual machine.

Would you like to download and install this update now?

Use of this software is subject to the original Software License Agreements) that accompanied the software being updated.

Learn More… | Not Now | Install

Clicking "Install" resulted in:

Installation failed

Can't install the software because it is not currently available from the Software Update server.

Preferred updating "Device Support for macOS 26"/"Mobile Device Support" to installing a new version of Xcode, but it was missing from developer.apple.com. Expected that it must be in the Xcode installer:

  1. Downloaded Xcode_26_Release_Candidate_Apple_silicon.xip

  2. Unpacked with unxip (2-3x faster than Archive Utility)

  3. Searched for "Mobile*" under Xcode.app/Contents/ via Find Any File, unearthing MobileDevice.pkg in Xcode.app/Contents/Resources/Packages/

  4. After running MobileDevice.pkg (13897894 bytes, SHA256: 305ddeb575c7f85e76f83c1fd5d20d0de34538bb9a61113db041fb4deab12363), Tahoe installation in UTM proceeded normally (searching online for MobileDevice.pkg confirmed it had worked for others as well)

❧ 2025-09-15


Reduce macOS menu bar icon spacing

Minimal spacing

defaults -currentHost write -globalDomain NSStatusItemSpacing -int 0 && defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 0 && killall ControlCenter

Restore default spacing

defaults -currentHost delete -globalDomain NSStatusItemSpacing && defaults -currentHost delete -globalDomain NSStatusItemSelectionPadding && killall ControlCenter

Sources

Reduce menu bar icon spacing to fit more icons

Hidden preference to alter the menubar spacing

Third-party apps

❧ 2025-09-08


Clean & eject external drives in macOS

There have been a host of macOS utilities over the years that remove macOS hidden system and metadata files from external drives in order to prevent compatibility issues on devices like MP3 players, car stereos, etc.:

Bash

The developer of CleanEject kindly posted a Bash script that does the job admirably (tested in macOS Sequoia):

#!/bin/bash
if [ -d "$1/.Spotlight-V100" ]; then
   dot_clean -m "$1"
   find "$1" -name .DS_Store -o -name .apdisk -delete
   rm -rf "$1/.Trashes"
   rm -rf "$1/.Spotlight-V100"
   rm -rf "$1/.fseventsd"
   rm -rf "$1/.TemporaryItems"
   hdiutil unmount "$1"
fi

Here's a slightly modified version that does not require .Spotlight-V100 to be present, fixes .DS_Store deletion, and uses a safer eject method:

#!/bin/bash
if [ -d "$1" ]; then
  dot_clean -m "$1"
  find "$1" \( -name .DS_Store -o -name .apdisk \) -type f -delete
  rm -rf "$1"/{.Trashes,.Spotlight-V100,.fseventsd,.TemporaryItems}
  diskutil eject "$1"
fi

AppleScript

The modified version wrapped in AppleScript for a simple GUI volume chooser (assuming the user can be trusted not to select Macintosh HD, Time Machine volumes, etc.):

set selectedVolume to choose folder with prompt "Select drive to clean and eject:" default location (POSIX file "/Volumes")
set volumePath to POSIX path of selectedVolume
do shell script "
if [ -d '" & volumePath & "' ]; then
  dot_clean -m '" & volumePath & "'
  find '" & volumePath & "' \\( -name .DS_Store -o -name .apdisk \\) -type f -delete
  rm -rf '" & volumePath & "'/{.Trashes,.Spotlight-V100,.fseventsd,.TemporaryItems}
  diskutil eject '" & volumePath & "'
fi"

To reduce the risk of mishap, this final attempt ("One more coruscation, my dear Watson—yet another brain-wave!") processes only FAT and exFAT-formatted volumes:

set selectedVolume to choose folder with prompt "Select drive to clean and eject:" default location (POSIX file "/Volumes")
set volumePath to POSIX path of selectedVolume

-- Only allow FAT family and exFAT
set fsType to do shell script "diskutil info -plist " & quoted form of volumePath & " | plutil -extract FilesystemType raw -"

if fsType is not in {"msdos", "exfat", "fat16", "fat32"} then
    display alert "Unsupported Volume" message "Only FAT16, FAT32 and exFAT volumes are supported for safety" buttons {"OK"} default button "OK"
    return
end if

-- Clean the volume
do shell script "
dot_clean -m " & quoted form of volumePath & " 2>/dev/null || true
find " & quoted form of volumePath & " \\( -name .DS_Store -o -name .apdisk \\) -type f -delete 2>/dev/null || true
rm -rf " & quoted form of volumePath & "/.Trashes " & quoted form of volumePath & "/.Spotlight-V100 " & quoted form of volumePath & "/.fseventsd " & quoted form of volumePath & "/.TemporaryItems 2>/dev/null || true
"

-- Eject
try
    do shell script "diskutil eject " & quoted form of volumePath
on error
    display alert "Eject Failed" message "Cleaning completed but eject failed" buttons {"OK"} default button "OK"
end try

Related

❧ 2025-09-01